package com.fourforfo.fourmall.seckill.service;

import com.fourforfo.common.utils.R;
import com.fourforfo.fourmall.seckill.to.SeckillSkuRedisTO;

import java.util.List;

public interface SeckillService {

    /**
     *秒杀商品定时上架计时器
     *    每天晚上3点，上架最近三天需要秒杀的商品
     *    当天：00:00:00 - 23:59:59
     *    明天：00:00:00 - 23:59:59
     *    后天：00:00:00 - 23:59:59
     */
    void uploadSeckillSkuLatest3Days();

    /**
     * 获取当前参与秒杀的商品信息
     * @return
     */
    List<SeckillSkuRedisTO> getCurrentSeckillSkus();

    /**
     * 获取某商品的秒杀信息，即是否是秒杀商品，以及秒杀的上次等等
     */
    SeckillSkuRedisTO getSkuSeckillInfo(Long skuId);

    /**
     * 秒杀商品
     * @param killId 秒杀id，sessionId_skuId组成 ，sessionId为秒杀活动号
     * @param randomCode 随机码
     * @param num 数量
     * @param userid
     * @return
     */
    R seckill(String killId, String randomCode, Integer num, String userid);
}
